package org.mock.base;

import com.alibaba.fastjson2.JSONObject;

/**
 * 策略 + 泛型，实现规范化
 *
 * @param <T>
 * @param <R>
 */
public interface RequestHandler<T, R> {

    // 阶段1：解析请求
    T parseRequest(JSONObject request);

    // 阶段2：构造查询条件
    T buildQueryWrapper(T dto);

    // 阶段3：查询数据
    R fetchData(T queryWrapper);

    // 阶段4：处理并返回结果
    String processResult(R result);
}
